sql >> Database >  >> RDS >> Mysql

groepsconcat-equivalent in varken?

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

Nu X zal zijn:

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

Nu moet je de ingebouwde UDF BagToTuple :

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

output moet nu bevatten wat je wilt. U kunt de uitvoerstap ook samenvoegen met de samenvoegstap:

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



  1. Wat is LENGTH() in MySQL?

  2. Alternatieven voor SQL Server Management Studio om tabellen te doorzoeken/bewerken en query's uit te voeren

  3. Hoe zorg ik ervoor dat MySQL een INDEX gebruikt voor weergavequery's?

  4. ORA-08177:kan toegang voor deze transactie niet serialiseren