27 HAZİRAN 2010, Pazar
MySQL ile nasıl bir sütun tablo içinde kayıt dizini içeren oluşturabilirsiniz?
Bir sorgudan gerçek satır sayısı almak için herhangi bir yolu var mı?
Bir tablo bir puan alan adında league_girl aradı sipariş edebilmek istiyorum; kullanıcı adı ve o kullanıcı adı gerçek satır pozisyonuna dönün.
Belirli bir kullanıcı, yani nerede olduğunu söylemem için kullanıcılar rütbe istiyorum. Joe, yani 200 konum 100
User Score Row
Joe 100 1
Bob 50 2
Bill 10 3
Burada bir kaç çözüm gördüm ama çoğu ve onları aslında satır sayısını döndürmek hiçbiri çalıştım.
Bu denedim:
SELECT position, username, score
FROM (SELECT @row := @row 1 AS position, username, score
FROM league_girl GROUP BY username ORDER BY score DESC)
Türetilmiş gibi
...ama satır konumuna döndürmek için görünmüyor.
Herhangi bir fikir?
CEVAP
27 HAZİRAN 2010, Pazar
Aşağıdaki deneyebilirsiniz:
SELECT l.position,
l.username,
l.score,
@curRow := @curRow 1 AS row_number
FROM league_girl l
JOIN (SELECT @curRow := 0) r;
JOIN (SELECT @curRow := 0)
parçası SET
ayrı bir komut gerektirmeden değişken başlatma sağlar.
Case Test:
CREATE TABLE league_girl (position int, username varchar(10), score int);
INSERT INTO league_girl VALUES (1, 'a', 10);
INSERT INTO league_girl VALUES (2, 'b', 25);
INSERT INTO league_girl VALUES (3, 'c', 75);
INSERT INTO league_girl VALUES (4, 'd', 25);
INSERT INTO league_girl VALUES (5, 'e', 55);
INSERT INTO league_girl VALUES (6, 'f', 80);
INSERT INTO league_girl VALUES (7, 'g', 15);
Test sorgu:
SELECT l.position,
l.username,
l.score,
@curRow := @curRow 1 AS row_number
FROM league_girl l
JOIN (SELECT @curRow := 0) r
WHERE l.score > 50;
Sonuç:
---------- ---------- ------- ------------
| position | username | score | row_number |
---------- ---------- ------- ------------
| 3 | c | 75 | 1 |
| 5 | e | 55 | 2 |
| 6 | f | 80 | 3 |
---------- ---------- ------- ------------
3 rows in set (0.00 sec)
Bunu Paylaş:
Bunları nasıl belirli sütun adları ile...
Nasıl MySQL veritabanı / tablo / sütun...
Ben başvuru belirli bir tablo yabancı ...
Nasıl bir mysql tablo sütun boyutunu d...
Nasıl bir sütun silmek için MySQL bir ...