2016-04-11 17 views
0
imei  date 
10013700 6:00:00 AM 
10015700 6:00:00 AM 
10014200 6:00:01 AM 
10014500 6:00:04 AM 
10016300 6:00:04 AM 
16014600 6:00:04 AM 
10013700 6:00:05 AM 
10015700 6:00:05 AM 
10013000 6:00:06 AM 
10014700 6:00:06 AM 
10016300 6:00:06 AM 
10016300 6:00:06 AM 

これは私が最初の時から始まり、一緒にIMEIでグループ化されてきた...今私はIMEIで日付とグループでテーブルを作成する必要があります。..同じユーザーIDを一緒にグループ化するにはどうすればよいですか?

imei  date 
10013700 6:00:00 AM 
10013700 6:00:05 AM 
10015700 6:00:00 AM 
10015700 6:00:05 AM 
10014200 6:00:01 AM 
10014500 6:00:04 AM 
10016300 6:00:04 AM 
10016300 6:00:06 AM 
10016300 6:00:07 AM 
16014600 6:00:04 AM 
10013000 6:00:06 AM 
10014700 6:00:06 AM 

IMEIと時間で構成された表であります時間や他のIMEI番号の次で始まるが、IMEIと一緒にセット私のデータでは、前のIMEIの時間を開始するために、日付

con = sqlite3.connect("E://code/differenttaxi.sqlite") 
df=pd.read_sql_query('SELECT * FROM taxitable WHERE date>="2013-12-16  06:00:00" AND date<"2013-12-17 00:00:00" JOIN (SELECT id,imei, i,lat,lon,speed,direction,error,engine,meter,min(date) first from taxitable group by 10013700)on imei=i ORDER BY first',con) 


df.to_csv('E:\\code\\Query_Result.csv',index=False) 
con.close() 
print("completed!\n") 
display(pd.read_csv('E:\\code\\Query_Result.csv')) 

エラーが発生した。..他の属性があります。

DatabaseError: Execution failed on sql near "JOIN": syntax error

あなたはそのことで、各ユーザーと注文の 最初日付見つける必要があり
+0

@HimalAcharyaは、コメントでコードを投稿し、質問を編集して、最後まできれいにそれを追加しないでください。 – Bloodied

+0

あなたは 'ORDER BY user、date'のように見えます。 'GROUP BY'は必要ありません。 –

答えて

1

select t.user, t.date 
from mytable t 
join (select user u, min(date) first from mytable group by 1) x 
    on user = u 
order by first, user, date 
+0

それはうまくいかない... –

+0

エラーを起こす?もしそうなら、どんなエラー?そうでない場合、「うまくいかない」とはどういう意味ですか? – Bohemian

+0

より正確にqnを編集しました –

0
SELECT tbl.user, tbl.date FROM table_name tbl 
LEFT JOIN (
    SELECT user, date FROM table_name GROUP BY user 
) ord on tbl.user = ord.user 
order by ord.date, tbl.date 
関連する問題