2016-12-25 4 views
-1

Ich habe diese Abfrage fehlschlagen:WHERE verursacht GROUP BY-Abfrage MYSQL

SELECT item_name, 
    item_link, 
    item_price, 
    shop_name, 
    max(sale_timestamp) AS sale_date, 
    COUNT(*) as count 
    FROM `name_sales_items` 
    WHERE `sale_timestamp` BETWEEN '2016-12-25 00:00:00' and '2016-12-25 23:59:00' 
    GROUP BY `item_link` ORDER BY count DESC 

Aus irgendeinem Grund es keine Datensätze zurückgeben tut.

Ich verengte es so weit nach unten:

Wenn ich löschen:

WHERE `sale_timestamp` BETWEEN '2016-12-25 00:00:00' and '2016-12-25 23:59:00' 

es funktioniert.

Wie funktioniert es mit WHERE Teil?

+1

Haben Sie Daten in der Tabelle, die 'where' Bedingung erfüllen? – Kacper

+0

Siehe http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-very-simple-sql- Abfrage – Strawberry

+0

@Kacper Ich mache es, es sieht aus wie '2016-12-25 02: 01: 43' – Acidon

Antwort

1
HAVING MAX(sale_timestamp) BETWEEN '2016-12-25 00:00:00' and '2016-12-25 23:59:00'