SORU
12 Aralık 2009, CUMARTESİ


() ROW_NUMBER MySQL

MySQL güzel bir şekilde çoğaltmak için SQL Server işlevi ROW_NUMBER() var mı?

Örneğin:

SELECT 
    col1, col2, 
    ROW_NUMBER() OVER (PARTITION BY col1, col2 ORDER BY col3 DESC) AS intRow
FROM Table1

O zaman, örneğin, 1 intRow col3 (col1, col2) her biri için en yüksek çifti ile tek bir satır almak için sınırlamak için bir koşul eklemek istiyorum.

CEVAP
13 Aralık 2009, Pazar


MySQL işlevi, sıralama yok. Alabileceğiniz en yakın bir değişken kullanmak için:

SELECT t.*, 
       @rownum := @rownum   1 AS rank
  FROM YOUR_TABLE t, 
       (SELECT @rownum := 0) r

nasıl benim durumumda işe yarar? İki değişken Col 1 her biri col2 lazım? Col2 Col 1.. değiştiğinde bir şekilde sıfırlanması gerekir?

Evet. Eğer Oracle olsaydı, KURŞUN işlevi sonraki değeri en yüksek noktaya kullanabilirsiniz. Neyse ki, Quassnoi the logic for what you need to implement in MySQL kapsar.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Cristina Landa

    Cristina Lan

    28 Ocak 2010
  • CZTUTORIALS

    CZTUTORIALS

    28 Ocak 2011
  • MattSteffanina 2

    MattSteffani

    28 Kasım 2007

İLGİLİ SORU / CEVAPLAR