我正在学习SQL,并且难以理解应该是一个简单的查询。我有一个具有以下模式的表:
SimpleDateFormat format =
dateOrder == DMY ?
new SimpleDateFormat("{2}" + sep + "{1}" + sep + "{0}")) :
dateOrder == MDY ?
new SimpleDateFormat("{1}" + sep + "{2}" + sep + "{0}")) :
dateOrder == YMD ?
new SimpleDateFormat("{0}" + sep + "{1}" + sep + "{2}")) :
null;
我想编写一个查询来返回一个表,该表计算每种类型的实例总数,并返回一个具有以下模式的表,例如,如果12行中出现“Blue”,则发生“Red”在上表中的16行中,结果将是:
public static int power(int base, int n) {
return n == 0 ? 1 : multiply(base, power(base, n -1);
}
public static int multiply(int a, int b) {
return a > 0 ? add(multiply(a - 1, b), b) : 0;
}
public static int add(int a, int b) {
return a > b ? 1 + add(a -1, b) : b > 0 ? 1 + add(0, b -1) : 0;
}
答案 0 :(得分:27)
你可以这样做:
SELECT Type, COUNT(*) FROM TABLE GROUP BY Type
如果您希望在单独的列中看到类型,可以执行以下操作:
SELECT SUM(CASE WHEN Type = 'Blue' THEN 1 ELSE 0 END) AS Blue, SUM(CASE WHEN Type = 'Red' THEN 1 ELSE 0 END) AS Red FROM TABLE