2016-10-12 1 views
0

時間ごとに行われた注文の合計数をカウントするはずの次のクエリがあります。時間によって行われた注文の総数をカウントするMySQLクエリは、毎時1を常に返します。

問題は、合計数が1時間あたり常に1であることです。私は平日のためによく似たクエリを持っています。次の問合せで何が間違っているか、欠落していますか?

SELECT COUNT(`Orderno`) as 'totals', EXTRACT(HOUR FROM `order_datetime`) as 'hour' 
FROM `orders` 
GROUP BY `order_datetime` 

結果は

totals hour 
1  0 
1  1 
1  2 
... 
+1

'GROUP、それを試してみてください。 – Barmar

+0

'GROUP BY order_datetime'は、同じ時間ではなく、全く同じ時間を持つ場合にのみ、行をグループ化します。 – Barmar

+0

引用に関する問題もあります。http://stackoverflow.com/questions/11321491/when-to-use-single-quotes-double-quotes-and-backticks – Barmar

答えて

1
SELECT COUNT(`Orderno`) as 'totals', EXTRACT(HOUR FROM `order_datetime`) as 'hour' 
FROM `orders` 
GROUP BY `order_datetime`,EXTRACT(HOUR FROM `order_datetime`) 

hour` BY

+0

よかった、ありがとう!あなたの提案をちょっと修正するだけで、GROUP BY EXTRACT(HOUR FROM 'order_datetime')が動作しました。 – user1271930

0
group by hour(order_datetime) 

はそれを行う必要があります。

+0

これは質問に対する回答ではありません。批評をしたり、著者の説明を求めるには、投稿の下にコメントを残してください。 - 私はよく分かっています...もう少し説明があればうれしいですが、質問に答えようとしています*。[レビューの投稿/レビュー/低品質の投稿/ 13963322] – zinking

+0

@zinking – Mike

関連する問題