0

MySQL から PostgreSQL にいくつかのクエリを転送していますが、PostgreSQL で動作するように次のクエリを書き直す方法に困惑しています。 SUM(phoneid IN (1, 2, 6, 8)) AS completedcalls

私はもともと SUM(SELECT phoneid FROM myTable WHERE phoneid = 1 OR phoneid = 2etc などを実行できると思っていましたが、合計内で SELECT を使用できるとは思いません。

また、WITHクエリを使用してみましたが、うまくいきませんでした。

4

3 に答える 3

4

使ってみてはどうですかCASE

SUM(CASE WHEN phoneid IN (1, 2, 6, 8) THEN 1 ELSE 0 END)
于 2013-07-29T13:26:33.827 に答える
4
count(phoneid in (1,2,6,8) or null)
于 2013-07-29T13:32:28.350 に答える
2

boolにキャストできますinteger:

SUM(CAST(phoneid IN (1, 2, 6, 8) AS INTEGER)) AS completedcalls
于 2013-07-29T13:33:53.707 に答える