Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

कैसे mysql में एक समूह के अनुसार ऑटो वेतन वृद्धि आईडी जोड़ने के लिए?

इसे आजमाएं:

update yourtable t1
join (
    select
          tt.indexer, @rowno := if(@grp = `group`, @rowno + 1, 1) as id, @grp := `group`
    from (select * from yourtable order by `group`, indexer) tt
    cross join (select @rowno := 0, @grp := null) t
) t2
on t1.indexer = t2.indexer
set t1.id = t2.id

यहां डेमो करें

संपादित:

यदि आप एक नई पंक्ति सम्मिलित करना चाहते हैं, तो आपको इसे इस प्रकार करना होगा:

insert into yourtable
select '$indexer', '$group', '$name', coalesce(max(id), 0) + 1
from yourtable
where name = '$name'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक श्रेणी और उसके उपश्रेणियों से संबंधित सभी पदों की गणना

  2. PHP और MySQL का उपयोग करके साइटमैप कैसे बनाएं

  3. प्रत्येक डेटाबेस को एक अलग फ़ाइल में बैकअप करने के लिए mysqldump के लिए बैच-फ़ाइल

  4. PHP के साथ MySQL से utf8mb4 डेटा में हेरफेर करना

  5. केवल str_replace के साथ Sql इंजेक्शन सुरक्षा