Mysql
 sql >> Baza danych >  >> RDS >> Mysql

ekwiwalent concat grupy w świni?

grouped = GROUP table BY userid;
   X = FOREACH grouped GENERATE group as userid, 
                                table.clickcount as clicksbag, 
                                table.pagenumber as pagenumberbag;

Teraz X będzie:

{(155,{(2),(3),(1)},{(12),(133),(144)},
 (156,{(6),(7)},{(1),(5)}}

Teraz musisz użyć wbudowanego UDF BagToTuple :

output = FOREACH X GENERATE userid, 
                            BagToTuple(clickbag) as clickcounts, 
                            BagToTuple(pagenumberbag) as pagenumbers;

output powinien teraz zawierać to, co chcesz. Możesz również scalić krok wyjściowy z krokiem scalania:

    output = FOREACH grouped GENERATE group as userid, 
                     BagToTuple(table.clickcount) as clickcounts, 
                     BagToTuple(table.pagenumber) as pagenumbers;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql + php ze znakami specjalnymi, takimi jak „(apostrof) i (cudzysłów)

  2. Błąd rzucania skryptu Wordpress do Jekyll

  3. Jak działa funkcja RTRIM() w MySQL

  4. Grupuj według daty tylko w kolumnie Datetime

  5. MySQL ON DUPLICATE KEY UPDATE podczas wstawiania zestawu wyników z zapytania