/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
MSSQL: Vise feltværdi med flestkomster
Fra : Peter Lykkegaard


Dato : 12-02-01 16:23

Hej - Jeg er rendt ind i en lille nødeknækker

Jeg har en tabel på en MSSQL server med fx 4 felter A, B, C ,D

A B C D
---------------------
A1 B1 C3 D1
A1 B2 C1 D2
A1 B1 C3 D2
A1 B1 C1 D3
A2 B2 C3 D1
A3 B3 C2 D2

Hvordan viser jeg data med flest forekomster uafhængigt af rækkerne?

A B C D
---------------------
A1 B1 C3 D2

(Med alm T-SQL ikke olap)
Jeg har noget der virker, men nok ikke den mest optimale

mvh/Peter Lykkegaard



 
 
James Olsen (12-02-2001)
Kommentar
Fra : James Olsen


Dato : 12-02-01 18:52


"Peter Lykkegaard" <polonline@hotmail.com> wrote in message
news:YaTh6.213$ZY6.10717@news.get2net.dk...
> Hej - Jeg er rendt ind i en lille nødeknækker
>
> Jeg har en tabel på en MSSQL server med fx 4 felter A, B, C ,D
>
> A B C D
> ---------------------
> A1 B1 C3 D1
> A1 B2 C1 D2
> A1 B1 C3 D2
> A1 B1 C1 D3
> A2 B2 C3 D1
> A3 B3 C2 D2
>
> Hvordan viser jeg data med flest forekomster uafhængigt af rækkerne?
>
> A B C D
> ---------------------
> A1 B1 C3 D2
>
> (Med alm T-SQL ikke olap)
> Jeg har noget der virker, men nok ikke den mest optimale

Hvordan skal sammenfald håndteres lad os nu sige at der er lige mange b2'er
og b3'er ?


>
> mvh/Peter Lykkegaard
>
>



Peter Lykkegaard (13-02-2001)
Kommentar
Fra : Peter Lykkegaard


Dato : 13-02-01 08:03


"James Olsen" <james_olsen@vip.cybercity.dk> wrote in message
news:9697t4$1e9g$1@news.cybercity.dk...
>
> "Peter Lykkegaard" <polonline@hotmail.com> wrote in message
> news:YaTh6.213$ZY6.10717@news.get2net.dk...

[Klip]
> > Hvordan viser jeg data med flest forekomster uafhængigt af rækkerne?
> >
> > A B C D
> > ---------------------
> > A1 B1 C3 D2
> >
> > (Med alm T-SQL ikke olap)
> > Jeg har noget der virker, men nok ikke den mest optimale
>
> Hvordan skal sammenfald håndteres lad os nu sige at der er lige mange
b2'er
> og b3'er ?
>
Ja, det sad jeg også og filosoferede over senere på dagen
Jeg skal bruge det til at vise default value for en række poster - var bare
en skør ide jeg kom på - man skal jo sprænge sine rammer en gang i mellem

Anyways
Efter at jeg har vist et skærm billede med default value, så kan brugeren
vælge mellem alle values der allerede ligger i basen - eller indtaste
(tilføje) en ny
Så sammenfald er af ren akademisk betydning lige nu

mvh/Peter Lykkegaard



Hendrik Hansen (12-02-2001)
Kommentar
Fra : Hendrik Hansen


Dato : 12-02-01 21:03


"Peter Lykkegaard" <polonline@hotmail.com> wrote in message
news:YaTh6.213$ZY6.10717@news.get2net.dk...
> Hej - Jeg er rendt ind i en lille nødeknækker
>
> Jeg har en tabel på en MSSQL server med fx 4 felter A, B, C ,D
>
> A B C D
> ---------------------
> A1 B1 C3 D1
> A1 B2 C1 D2
> A1 B1 C3 D2
> A1 B1 C1 D3
> A2 B2 C3 D1
> A3 B3 C2 D2
>
> Hvordan viser jeg data med flest forekomster uafhængigt af rækkerne?

Personligt ville jeg bruge en temp-tabel og så selecte den oftest
forekommende fra hver kolonne ind hvert felt i temptabellen:

CREATE #temp....

INSERT INTO #temp(A)
SELECT TOP 1 A
FROM tabel
GROUP BY A
ORDER BY COUNT(A) DESC

INSERT INTO....

SELECT * FROM #temp

Mvh. Hendrik



Hendrik Hansen (12-02-2001)
Kommentar
Fra : Hendrik Hansen


Dato : 12-02-01 21:06


"Hendrik Hansen" <hcwh@yahoo.com> wrote in message
news:KjXh6.51831$zw.907564@twister.sunsite.dk...
>
> "Peter Lykkegaard" <polonline@hotmail.com> wrote in message
> news:YaTh6.213$ZY6.10717@news.get2net.dk...
> > Hej - Jeg er rendt ind i en lille nødeknækker
> >
> > Jeg har en tabel på en MSSQL server med fx 4 felter A, B, C ,D
> >
> > A B C D
> > ---------------------
> > A1 B1 C3 D1
> > A1 B2 C1 D2
> > A1 B1 C3 D2
> > A1 B1 C1 D3
> > A2 B2 C3 D1
> > A3 B3 C2 D2
> >
> > Hvordan viser jeg data med flest forekomster uafhængigt af rækkerne?
>
> Personligt ville jeg bruge en temp-tabel og så selecte den oftest
> forekommende fra hver kolonne ind hvert felt i temptabellen:

Kan evt. forbedres med en trigger og/eller en global temp-tabel.

Mvh. Hendrik



Peter Lykkegaard (13-02-2001)
Kommentar
Fra : Peter Lykkegaard


Dato : 13-02-01 08:20


"Hendrik Hansen" <hcwh@yahoo.com> wrote in message
news:KjXh6.51831$zw.907564@twister.sunsite.dk...
>
>
> Personligt ville jeg bruge en temp-tabel og så selecte den oftest
> forekommende fra hver kolonne ind hvert felt i temptabellen:
>
Jeg lavede en SQL ting i går eftermiddags
Der var lige den ekstra finte at man går ind og vælger et antal poster, der
skal opdateres med én bestemt værdi for hver attribut - hvordan jeg undgår
at lave rod i resten af attributterne (hvis det fx kun er én attribut der
skal ændres) bliver et lille studium værd

---------------------------------------------------------------
CREATE PROCEDURE sp_GetMostUsed (
@Users NVarChar(1000)
)
AS
DECLARE @SQL NVarChar(2000)
SET NOCOUNT ON
SET @SQL = N'SELECT * INTO #Some FROM MyTable WHERE ID IN (' + @IDS+ ') '
SET @SQL = @SQL + N'SELECT * INTO #MostUsed FROM MyTable Where 1=2 '
SET @SQL = @SQL + N'INSERT INTO #MostUsed (ID) Values (''Temp'') '
SET @SQL = @SQL + N'UPDATE #MostUsed SET A = (SELECT TOP 1 A FROM #Some
GROUP BY A Order BY COUNT(*) DESC) '
SET @SQL = @SQL + N'UPDATE #MostUsed SET B = (SELECT TOP 1 B FROM #Some
GROUP BY B Order BY COUNT(*) DESC) '
-- osv
SET @SQL = @SQL + N'SELECT * FROM #MostUsed '
SET @SQL = @SQL + N'DROP TABLE #Some '
SET @SQL = @SQL + N'DROP TABLE #MostUsed'
EXECUTE sp_EXECUTESQL @SQL
SET NOCOUNT OFF
---------------------------------------------------------------


mvh/Peter Lykkegaard



Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408857
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste