select * from demo where host = x fln diye bir sorgum olsun ve bu sorgudan da büssürü veri çıkıyor olsun peki örneğin bu çıkan sonuçlardan ikincisini veya n. sini döndür deme şansım var mı
Var.
import sqlite3
connect = sqlite3.connect("test.db")
cursor = connect.cursor()
cursor.execute("create table if not exists tablo(x, y)")
for i in range(10):
cursor.execute(
"insert into tablo(x, y) values (?, ?)",
(i, ["a", "b"][i % 2])
)
connect.commit()
def nth_row_order_by(table, by, n, value):
cursor.execute(
f"select * from "
f"(select *, row_number() over (order by {by}) as n from {table} "
f"where {by}=?)"
f"where n=?",
(value, n)
)
return cursor.fetchone()[:-1]
print(nth_row_order_by(table="tablo", by="y", n=2, value="b"))
1 Beğeni
çok teşekkür ederim işe yarardı
google dan arattım arattım bulamadım sql ile fazla işim olmadığı için de dökünmanlar zaman alırdı.
1 Beğeni
Rica ederim kolay gelsin.
1 Beğeni
Cevap doğru lakin şöyle bir tavsiyede bulunayım. Sql cümleleri ile uğraşırsan 3 gün sonra farklı bir db seçmen senin için eziyet olacaktır. Bunun yerine ORM kullanman önemli. Proje küçüktür falan yapar geçersin ayrı mesele ama ORM kullanman senin açından ilerde rahat etmeni sağlar. SqlAlchemy bakabilirsin.
tavsiyeniz için teşekkür ederim. nitekim haklısınız da
zaten ben de SqlAlchemy kullanıyorum belirli bir kısımda böyle bir işlem yapmam gerekiyordu.