2016-12-09 3 views
0

SQL Serverに毎分更新されるテーブルがあります。 現在、私はこのコードの行を使用して、私のテーブルからデータを取得する:私のアプリケーションでPythonを使用してSQL Serverのテーブルからいくつか最後に追加されたデータをストリーム/印刷するには?

conn = pymssql.connect(server, user, password, "tempdb") 

def print_table(): 
    cursor = conn.cursor(as_dict=True) 

    cursor.execute('SELECT * FROM EmotionDisturbances WHERE name=%s', 'John Doe') 
    for row in cursor: 
     #Show the data: 
     print("rate=%d, emotion=%s" % (row['rate'], row['emotion'])) 

    conn.close() 

が、私はこの機能を10秒ごとに実行します。 テーブルから最後に追加されたデータのみを印刷するように関数を更新するにはどうすればよいですか?

おかげ

答えて

1

は、あなたがあなたがしたい列idで自動インクリメントのインデックスを持っていると仮定すると:

SELECT * FROM EmotionDisturbances WHERE name = % ORDER BY id DESC LIMIT 1 

EDIT:あなたは、その後、一定時間後に追加されたすべてのデータを使用する場合は」そして、あなたが行うことができ、それは既に1を持っていない場合created日付列を持っているあなたのスキーマを移行する必要があるでしょう:

SELECT * 
FROM EmotionDisturbances 
WHERE name = % AND created >= DATEADD(second, -10, GETDATE()) 

これは、Rのすべてになるだろうこの機能は10秒ごとに実行されていると言われています。

+0

テーブルに追加されたデータの数がわからない場合はどうすればよいですか?最後のデータではなく、すべてのデータが必要ですか?私は私の質問を更新する必要があると思う。 –

+0

@SaberAlex私はあなたが意味すると思うものに対処する編集で私の答えを更新しました。 – mVChr

+0

それは私が推測するトリックを行います、それを試してみましょう。ありがとう –

関連する問題