2016-10-07 3 views
3

Ich möchte Einträge in einer Spalte zählen und die Anzahl daneben anzeigen. Allerdings bin ich ratlos wie ich es machen kann.Zählen Eintrag in einer Spalte MySQL und Anzeige zählt

gewünschte Ausgabe:

arrangement_number  tray_no rl_type flag(count of occurrence) 
------------------  ------- ----  ---- 
2774818     381001 R  3 
2774818     381001 R  3 
2774818     381001 L  3 
2778470     405128 R  1 
2779702     265265 R  2 
2779702     265265 R  2 

Ich versuche zur Zeit Abfragen mit @variables aber ich kann es immer noch richtig. jede Zeile ist einzigartig und ich brauche sie nicht gruppiert werden.

Update: Erweiterte Tabelle hinzugefügt Quellcode

Anmerkung: Ich bin derzeit Beitritt 5 Tabellen jetzt

Actual Abfrage:

SELECT 
    log.arrangement_number, 
    header.tray_number, 
    detail.rl_type, 

    -- some more fields here 

FROM 
    log 
     INNER JOIN 
    header ON log.arrangement_number = header.rxarrangement_number 
     AND log.production_place_code = header.production_place_code 
     INNER JOIN 
    detail ON log.arrangement_number = detail.rxarrangement_number 
     AND log.production_place_code = detail.production_place_code 
     INNER JOIN 
    deliveryperiod ON log.arrangement_number = deliveryperiod.arrangement_number 
     AND log.production_place_code = deliveryperiod.production_place_code 
     AND detail.rl_type = deliveryperiod.rl_type 
     INNER JOIN 
    calc ON calc.arrangement_number = log.arrangement_number 
     AND calc.production_place_code = log.production_place_code 
     AND deliveryperiod.rl_type = calc.rl_type 
     AND detail.rl_type = calc.rl_type 
WHERE 
    header.status_code IN ('20' , '21') 
     AND log.process_code = '12' 
     AND deliveryperiod.process_code_current = '12' 
     AND deliveryperiod.sub_process_code_current IN ('100' , '105') 
     AND lot_number = '120131' 
ORDER BY log.lot_number , log.sequence_number , deliveryperiod.rl_type DESC 
+1

'AUSWAHL tray_no, COUNT (*) AS Flag FROM ta ble GROUP BY tray_no'. –

+0

@FelixPamitan Vorsicht: Wenn er auch alle originalen Datensätze behalten möchte, dann müssen Sie wahrscheinlich eine Unterabfrage verwenden. –

+0

Ich kann 'GROUP BY' nicht verwenden Ich brauche die Flags für jede Zeile. Ich habe es abgespeckt. – Hexxed

Antwort

0

try this ...

SELECT tray_no, COUNT(*) 'flag' 
FROM table1 
GROUP BY tray_no 
2
SELECT t1.tray_no, 
     t2.flag 
FROM yourTable 
INNER JOIN 
(
    SELECT tray_no, COUNT(*) AS flag 
    FROM yourTable 
    GROUP BY tray_no 
) t2 
    ON t1.tray_no = t2.tray_no 
Verwandte Themen