2017-07-04 7 views
0

BY現在のアイテムusignグループを取得:MYSQL - 巨大な問題、私はmysqlのクエリで多くの問題を有し、かつ、グループBYてる

select MIN(price) AS price , date(x_date) AS date , id AS id 
from tableX 
group by week(x_date) 

これが返されます。

[{"price":900.42,"date":"2017-01-05","id":2366}, 
{"price":789.4,"date":"2017-01-08","id":2369}, 
{"price":820.53,"date":"2017-01-15","id":2376}, 
{"price":889.88,"date":"2017-01-22","id":2383}, 
{"price":917.14,"date":"2017-01-29","id":2390}, 
{"price":991.02,"date":"2017-02-05","id":2397}, 
{"price":998.18,"date":"2017-02-12","id":2404}, 
{"price":1055.62,"date":"2017-02-19","id":2411} 

価格がされていますその週の最低価格で正しくグループ化されていますが、返されているIDは&です。私は最初の日付&のIDを、その週の最低価格が発生した日付の代わりに取得しています。

全JSON:

select price AS price , date(x_date) AS date , id AS id 
from tableX 

[{"price":1067.84,"date":"2017-01-05","id":2366}, 
{"price":950.74,"date":"2017-01-06","id":2367}, 
{"price":900.42,"date":"2017-01-07","id":2368}, 
{"price":909.35,"date":"2017-01-08","id":2369}, 
{"price":906.43,"date":"2017-01-09","id":2370}, 
{"price":902.07,"date":"2017-01-10","id":2371}, 
{"price":840.38,"date":"2017-01-11","id":2372}, 
{"price":789.4,"date":"2017-01-12","id":2373}, 
{"price":814.48,"date":"2017-01-13","id":2374}, 
{"price":822.38,"date":"2017-01-14","id":2375}, 
{"price":820.53,"date":"2017-01-15","id":2376}, 
{"price":826.34,"date":"2017-01-16","id":2377}, 
{"price":867.36,"date":"2017-01-17","id":2378}, 
{"price":894.35,"date":"2017-01-18","id":2379}, 
{"price":891.13,"date":"2017-01-19","id":2380}, 
{"price":894.82,"date":"2017-01-20","id":2381}, 
{"price":905.82,"date":"2017-01-21","id":2382}, 
{"price":922.67,"date":"2017-01-22","id":2383}, 
{"price":919.01,"date":"2017-01-23","id":2384}, 
{"price":899.17,"date":"2017-01-24","id":2385}, 
{"price":889.88,"date":"2017-01-25","id":2386}, 
{"price":904.61,"date":"2017-01-26","id":2387}, 
{"price":916.83,"date":"2017-01-27","id":2388}, 
{"price":919.42,"date":"2017-01-28","id":2389}, 
{"price":917.16,"date":"2017-01-29","id":2390}, 
{"price":917.14,"date":"2017-01-30","id":2391}, 
{"price":943.95,"date":"2017-01-31","id":2392}, 
{"price":977.51,"date":"2017-02-01","id":2393}, 
{"price":997.57,"date":"2017-02-02","id":2394}, 
{"price":1012.95,"date":"2017-02-03","id":2395}, 
{"price":1025.88,"date":"2017-02-04","id":2396}, 
{"price":1023.82,"date":"2017-02-05","id":2397}, 
{"price":1019.3,"date":"2017-02-06","id":2398}, 
{"price":1038.57,"date":"2017-02-07","id":2399}, 
{"price":1053.44,"date":"2017-02-08","id":2400}, 
{"price":1021.64,"date":"2017-02-09","id":2401}, 
{"price":991.02,"date":"2017-02-10","id":2402}, 
{"price":1001.54,"date":"2017-02-11","id":2403}, 
{"price":1004.75,"date":"2017-02-12","id":2404}, 
{"price":998.18,"date":"2017-02-13","id":2405}, 
{"price":1003.06,"date":"2017-02-14","id":2406}, 
{"price":1009.18,"date":"2017-02-15","id":2407}, 
{"price":1021.6,"date":"2017-02-16","id":2408}, 
{"price":1043.6,"date":"2017-02-17","id":2409}, 
{"price":1055.76,"date":"2017-02-18","id":2410}, 
{"price":1055.62,"date":"2017-02-19","id":2411}, 
{"price":1068.03,"date":"2017-02-20","id":2412}, 
{"price":1103.45,"date":"2017-02-21","id":2413}, 
{"price":1122.93,"date":"2017-02-22","id":2414}, 
{"price":1150.29,"date":"2017-02-23","id":2415}, 
{"price":1179.65,"date":"2017-02-24","id":2416}, 
{"price":1166.25,"date":"2017-02-25","id":2417}, 

任意のポインタは非常にいただければ幸いです。

答えて

0
SELECT MAINTABLE.*  
    FROM TABLEX MAINTABLE INNER JOIN 
    (
     SELECT PRICE , DATE(X_DATE) AS DATE , ID AS ID 
     FROM TABLEX 
     GROUP BY WEEK(X_DATE) 
    ) INNERTABLE ON MAINTABLE.ID = INNERTABLE.ID AND MAINTABLE.X_DATE = INNERTABLE.DATE 

上記のクエリを試してください。

希望すると、これが役立ちます。

+0

@Sam試しましたか? –