select customer_name,
kwh,
reading_date,
reading_time
from (
select customer_name,
kwh,
reading_time,
reading_date,
row_number() over (partition by customer_name order by reading_time) as rn
from readings
where reading_date = date '2012-11-17'
) t
where rn = 1
एक विकल्प के रूप में:
select r1.customer_name,
r1.kwh,
r1.reading_date,
r1.reading_time
from readings r1
where reading_date = date '2012-11-17'
and reading_time = (select min(r2.reading_time)
from readings
where r2.customer_name = r1.customer_name
and r2.read_date = r1.reading_date);
लेकिन मुझे उम्मीद है कि पहले वाला तेज होगा।
बीटीडब्ल्यू:आप दिनांक और समय को दो अलग-अलग कॉलम में क्यों स्टोर करते हैं? क्या आप जानते हैं कि इसे timestamp
. के साथ बेहतर ढंग से नियंत्रित किया जा सकता है कॉलम?