Ich bin mir nicht sicher, wie eine SQL-Abfrage strukturieren, um die Anzahl der Zeilen zurückzugeben, wo eine Spalte bestimmte Werte entspricht.sql eingeschränkte Anzahl Abfrage
Zum Beispiel
In Tabelle myTable
, wie kann ich wieder die Anzahl aller Zeilen, in denen myColumn = "xyz"
und wo myColumn = "abc"
? Ist dies mit einer einzigen Abfrage möglich?
Um zu klären, sagen, es gibt 10 Zeilen, in denen myColumn = "xyx"
und 7 Zeilen, in denen myColumn = "abc"
, die Abfrage so etwas wie zurückkehren würde: mit
firstCountResult: 10
secondCountResult: 7
nie verlassen Sie sich (*), count (1) oder count (Spalte in einem nicht null verwendet Index) besser ist. – stjohnroe
Hmmm. Der Unterschied zwischen count (*) und count (1) ist möglicherweise nicht das, was Sie erwarten: [Ask Tom discussion] (http://asktom.oracle.com/pls/asktom/f?p=100:11:02 :: P11_QUESTION_ID: 1156151916789), [oracledba.co.uk] (http://www.oracledba.co.uk/tips/count_speed.htm). Ich nehme an, dass eine Indexspalte, die nicht Null ist, sinnvoll sein könnte, aber ich hatte keine zur Verfügung. –
@stjohnroe, count (*) ist identisch mit count (1). –