Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst MySQL Minimalwert über mehrere Spalten, jedoch nicht 0

Mitglied: rumbleDom

rumbleDom (Level 1) - Jetzt verbinden

09.02.2013 um 11:26 Uhr, 3424 Aufrufe, 5 Kommentare

Minimalwert auswerten, allerdings nicht 0 (also größer 0)

Hallo,

ich habe eine Tabelle mit mehreren Werten in mehreren Spalten wo ich den Mindestwert bestimmen muss.

Allerdings habe ich das Problem, dass dieser Wert nicht 0 sein darf.

Schema
ID, Wert01, Wert02, Wert03
1, 300, 0, 325 (min is 300)
2, 225, 275, 0 (min is 225)
3, 0, 500, 300 (min is 300)

Vom Prinzip her wäre das eigentlich so, allerdings bekomme ich da immer die 0 ausgewertet:

SELECT min(least(Wert01, Wert02, Wert03)) FROM table ...

Gibt es hierfür überhaupt eine SQL-Syntax oder muss ich dafür einen weiteren Workaround Scriptseitig bauen?

Gruß, Rumble
Mitglied: nxclass
10.02.2013 um 00:18 Uhr
mir fällt da nur das ein:
01.
SELECT ... 
02.
CASE 
03.
  WHEN `wert1`>0 AND `wert1`<`wert2` AND `wert1` < `wert3` THEN `wert1` 
04.
  WHEN `wert2`>0 AND `wert2`<`wert1` AND `wert2` < `wert3` THEN `wert2` 
05.
  WHEN `wert3`>0 AND `wert3`<`wert1` AND `wert3` < `wert2` THEN `wert3` 
06.
  ELSE 0 
07.
END AS 'min' 
08.
FROM ...
Bitte warten ..
Mitglied: Biber
10.02.2013 um 00:49 Uhr
Moin nxclass,

im Prinzip ja, aber...

--> bei einer Konstellation von Wert1/Wert2/Wert3 = 0/1000/1000 oder auch 500/500/1000 kommt als "kleinster Wert ungleich 0" leider 0 heraus.

Die jeweils zweiten "<"-Prüfungen sollten besser als "<=" formuliert werden.

Grüße
Biber
Bitte warten ..
Mitglied: nxclass
10.02.2013 um 01:13 Uhr
Die jeweils zweiten "<"-Prüfungen sollten besser als "<=" formuliert werden.
absolut richtig

Moin nxclass,
ich geh jetzt ins Bett.
Bitte warten ..
Mitglied: ByteKiller
10.02.2013 um 11:35 Uhr
Moin moin,

also ich würde dir empfehlen noch mal dein Tabllenlayout zu überdenken und evtl. zu änderen, wenn das von deiner Seite aus machbar ist und das Schema nicht fix ist.

Wenn ich das richtig sehe hast du sowas wie mehrere Messreihen, die wiederum mehrere Messdaten haben. Da könnte man Folgendes machen:

Messreihe
ID, Name
1, Reihe 1
2, Reihe 2
...
n, Reihe XYZ

Messpunkte
ID, MessreiheID, Wert
1, 1, 300
2, 1, 0
3, 1, 325
4, 2, 225
5, 2, 275
6, 2, 0
...
m, n, 0
m+1, n, 500
m+2, n, 300
...

Dann kannst du die Tabllen JOINen (anhand der Messreihen ID) und mit einer WHERE Klausel deinen Wert finden.
Würde sagen das wäre eine saubere Lösung.
Gruß
ByteKiller
Bitte warten ..
Mitglied: rumbleDom
15.02.2013 um 07:44 Uhr
Hallo @all,

aufgrund der Performance habe ich jetzt auch das Tabellenlayout dahingehend angepasst, dass der Minimalwert als weitere Spalte bei INSERT oder UPDATE mit geschrieben wird. Nun läuft es wirklich reibungslos. Herzlichen Dank für Eure Hilfe!

Gruß, rumble
Bitte warten ..
Ähnliche Inhalte
Datenbanken

MySQL: Zwei Spalten in einer View zählen

Frage von Memo66Datenbanken11 Kommentare

Hallo, ich habe eine Fussballdatenbank mit der Tabelle 'Tore' die wie folgt aussieht Ich möchte nun aus Abfrage wo ...

Microsoft Office

Excel mehrere Spalten durchsuchen und in einer neuen Spalte ordnen

gelöst Frage von Wolf6660Microsoft Office2 Kommentare

Hi, ich habe folgendes Problem: ich habe eine Liste mit mehreren Spalten in denen der Name eines Benutzers aufgelistet ...

Datenbanken

MySQL Trigger - Zählen von Zeilen (Count) und "Überwachen" einer Spalte

Frage von Oli-nuxDatenbanken3 Kommentare

Hallo, habe ein Problem und kann es leider selber mit MySQL Trigger nicht lösen. In der MySQL-DB bzw. in ...

E-Mail

Kallender mit mehreren Spalten pro Tag

gelöst Frage von mike7050E-Mail5 Kommentare

Hallo, ich suche einen Kallender mit mehreren Spalten pro Tag um dort verschiedene Orte darzustellen in denen wiederum dann ...

Neue Wissensbeiträge
Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 19 MinutenHumor (lol)

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 12 StundenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 13 StundenSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 16 StundenMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server40 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Router & Routing
ISC DHCP 2 Subnetze
gelöst Frage von janosch12Router & Routing19 Kommentare

Hallo, ich betreibe bei mir im Netzwerk einen ISC DHCP Server auf Debian, der DHCP verwaltet aktuell ein /24 ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...