Bir tablo var Bir ayın kriterlerini karşılayan ilk ve son kaydı bulmak istiyorum.mysql tablosundan ilk ve son kaydı nasıl bulabilirim
cevap
Nasıl böyle bir şey:
select 'first', f1, f2, f3, f4 from tbl
order by f1 asc, f2 asc
limit 1
union all
select 'last', f1, f2, f3, f4 from tbl
order by f1 desc, f2 desc
limit 1
Açıkçası bir where
fıkrada istediğini koşul eklemek için çekinmeyin ama order by
temel önermesi iki select
bölümlerde sırasını tersine etmektir.
limit
cümlesi her iki durumda da ilk satırı alır. Bu, siparişi tersine çevirdiğinizden dolayı, select
numaralı numaralı satırın son satırı olarak olur.
Koşullarınızdan kaynaklanan yalnızca bir satır varsa ve iki kez döndürmesini istemiyorsanız, union all
yerine union
kullanın.
Parantez nedir? –
@Alexander, evet, parantezler çok güzel ve onlar hakkında düzgün bir akışa sahipler. Doğru şekilde dengelenmişlerse çok çekicidirler. Ancak, onlar benim cevap için gerçekten gerekli değildir, bu yüzden ben onları şimdi denklem dışında bırakacağım :-) – paxdiablo
Parantez olmadan Bir istisna alıyorum 'SQLSTATE [HY000]: Genel hata: 1221 Yanlış kullanım UNION ve ORDER BY' –
İlk ve son, yalnızca bir alan (lar) da sıralanan sorgu çıktısı olduğunda anlamlıdır.
select col1 from tab1 order by col1 asc limit 1;
son kayıt almak için::
select col1 from tab1 order by col1 desc limit 1;
select * from table
where id = (select id from tab1 order by col1 asc limit 1) or
id = (select id from tab1 order by col1 desc limit 1);
Alt sorgunuzdaki yan kolonlar bu ifadeyi bozacaktır. – dangermark
SELECT
(SELECT column FROM table WHERE [condition] ORDER BY column LIMIT 1) as 'first',
(SELECT column FROM table WHERE [condition] ORDER BY column DESC LIMIT 1) as 'last'
İlk seçmek gerektiğinde bu benim için çalıştı ve son tarih
ilk kaydını almak için etkinlik dizisinde.SELECT * FROM (
SELECT first_name, LENGTH(first_name) FROM Employees
ORDER BY LENGTH(first_name) ASC
FETCH FIRST 1 rows ONLY)
UNION
SELECT * FROM (
SELECT first_name, LENGTH(first_name) FROM Employees
ORDER BY LENGTH(first_name) DESC
FETCH FIRST 1 rows ONLY)
ORDER BY 2 desc;
'FETCH FIRST' geçerli değil MySQL sözdizimi – FrankerZ
@ FrankerZ: İşaretlediğiniz için teşekkürler. Evet, FETCH FIRST, Oracle Sql. –
- 1. php'de ilk ve son kaydı nasıl alabilirim?
- 2. GROUP İlk kaydı döndürerek
- 3. Tablodaki son kaydı seçin
- 4. Ya da listenin ilk Kaydı veya Son Kaydı yazıyor, doğru olan tüm öneriler
- 5. C# içindeki bir dizenin ilk ve son karakteri nasıl kaldırılır?
- 6. MySQL veritabanı tablosundan JavaScript değişkeni nasıl alınır?
- 7. Listede ilk ve son öğe nasıl kaldırılır?
- 8. MySQL Group by ID ve Son Tarihler
- 9. Metin kutusu metninin son karakterini nasıl bulabilirim?
- 10. En son değiştirilen satırı nasıl bulabilirim?
- 11. Mevcut mysql tablosundan raylarda geçiş dosyaları oluşturun
- 12. önceki ayın ilk ve son tarihini alın
- 13. Son 24 saat içinde veritabanı tabloma eklenen kayıtları nasıl bulabilirim?
- 14. Azure Table Storage son kaydı al
- 15. CSS Seçici - İlk ve son div
- 16. C# Tarih ve saat arasında MySQL tablosundan veri alın
- 17. UITableView deleteRowsAtIndexPath son kaydı silerken çöküyor
- 18. Önceki haftanın ilk ve son günlerini alın
- 19. Metin dosyasından ilk ve son sütunu ayıkla
- 20. Google Maps infoWindow'da yalnızca son kaydı yüklüyor
- 21. jsf veri tabanındaki son kaydı şekillendirme
- 22. Sütundaki ilk 200 kaydı sırayla değiştir
- 23. Flurry hata kaydı için, kaydettiğim bilgileri nereden bulabilirim?
- 24. Mysql sorgusu aracılığıyla katılım tablosundan aylık katılım raporu nasıl alınır?
- 25. Öğeler nasıl seçilir, ancak ilk ve son öğeleri hariç tut
- 26. Bir dizeden son ve ilk boşluklar nasıl kaldırılır?
- 27. Bir dizeden ilk ve son sözcükler nasıl çıkarılır?
- 28. Varsa, URL'den ilk ve son eğik çizgi nasıl kaldırılır?
- 29. Sözlük pythonundaki ilk ve son öğelere nasıl erişilir?
- 30. Java'da bir dizide ilk ve son öğe nasıl alınır?
Birden fazla yanıt çalışması, lütfen birini seçin –