Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Update mit count

Frage Entwicklung Datenbanken

Mitglied: Freaky-Boy

Freaky-Boy (Level 1) - Jetzt verbinden

05.06.2011 um 15:50 Uhr, 2933 Aufrufe, 5 Kommentare

Hallo Zusammen,

Ich habe ein Tabelle mit folgendem Muster

+ Download_ID + PC_ID + ANZ + 
|      1      | 18362 |  0  | 
|      2      | 18362 |  0  | 
|      3      | 18362 |  0  | 
|      4      | 28363 |  0  |
Ich möchte nun in der Spalte ANZ die vorkommen von der PC_ID eintragen.
Danach söllte es wie folgt aussehen

+ Download_ID + PC_ID + ANZ + 
|      1      | 18362 |  1  | 
|      2      | 18362 |  3  | 
|      3      | 18362 |  3  | 
|      4      | 28363 |  3  |
Ich bräuchte also einen Befehlt der so in der Art arbeitet:
UPDATE `downloads` SET `ANZ` = count(`PC_ID`)
Natürlich weiß ich, dass diese Code-Zeilen nicht funktioniert.
Leider funktioniert auch Folgendes nicht, da ich immer auf die selbe Tabelle zugreife und keine eindeutige Zuornung vorhanden ist.
UPDATE `downloads` SET `ANZ` = (SELECT count(`PC_ID`) FROM `downloads` WHERE `PC_ID` = `downloads`.`PC_ID` GROUP BY `PC_ID`)
Kann mir vllt. jemand den Weg zeigen und evtl. erklären?

Schon mal danke im Voraus.
Mitglied: bugmenot2
05.06.2011 um 16:38 Uhr
Einfach 2 Tabellen:
Download_ID und PC_ID (Download_ID primärschlüssel)
PC_ID und ANZ (PC_ID primärschlüssel)

Somit ist die Anzahl nicht mehr reduntant.

Dann würd ich die Schleife mit einem PHP-Script machen (weiß leider nicht wie das in MySQL etc. geht):
UPDATE `anz_tabelle` SET `ANZ` = (SELECT count(*) FROM `downloads` WHERE `PC_ID` = `$pci` GROUP BY `PC_ID`) WHERE `PC_ID`=`$pci`

Vielleicht hilfts.

MfG M_M
Bitte warten ..
Mitglied: Freaky-Boy
05.06.2011 um 20:05 Uhr
Die Idee an sich ist schon nicht schlecht. In Wirklichkeit habe ich aber keine Spalte ANZ sondern möchte an der Stelle einfach mit dem Wert weiter rechnen. Mit deiner Lösung müsste ich dann ja wieder anfangen, die beiden Tabellen zusammenzustellen. Außerdem wird sich meine Tabelle sehr schnell ändern deswegen wollte ich das ganze ohne "zwischenspeiern" lösen.

Gibt es denn eine Möglichkeit die PC_ID im UPDATE in eine Variable zu legen?
Bitte warten ..
Mitglied: Guenni
05.06.2011 um 20:41 Uhr
Hi Freaky-Boy,

. . . In Wirklichkeit habe ich aber keine Spalte ANZ, sondern möchte an der Stelle einfach mit dem Wert weiter rechnen. . . .

Dann frag' die Tabelle doch (nach dem Update ?) einfach mal so ab:

01.
<?php 
02.
 
03.
$query="select PC_ID , count(PC_ID ) as 'Anzahl' from downloads group by PC_ID "
04.
 
05.
/* 
06.
* Oder du suchst eine best. PC_ID . . . 
07.
*  
08.
* $query="select PC_ID , count(PC_ID ) as 'Anzahl' from downloads where PC_ID=62124 group by PC_ID "
09.
*/ 
10.
 
11.
$result=mysql_query($query); 
12.
 
13.
while($row=mysql_fetch_array($result,MYSQL_ASSOC)){ 
14.
  
15.
 echo "<p>".$row['PC_ID']." ist ".$row['Anzahl']." mal vorhanden<p>"
16.
 
17.
18.
 
19.
?>
Somit hast du auch PC_ID und die Anzahl in einer Variablen.


Gruß
Günni
Bitte warten ..
Mitglied: nxclass
05.06.2011 um 23:36 Uhr
Da ich nicht so ganz verstehe was Du eigentlich erreichen willst, würde ich Dir einfach mal die Begriffe: PROCEDURE und CURSOR ( http://dev.mysql.com/doc/refman/5.1/de/cursors.html ) an den Kopf werfen.
Könnte das möglicherweise etwas sein was Du suchst ?
Bitte warten ..
Mitglied: Freaky-Boy
08.06.2011 um 20:19 Uhr
Danke mit PROCEDURE und CURSOR werde ich mich noch beschäftigen.
So wie ich das vermute, kratze ich gerade mal an der Oberfläche von SQL.

Ich habe mein Problem nun nach dem Vorbild von Günni gelöst.
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Windows Update
Windows Update-Suche nach Win7 Neuinstallation wieder schneller (2)

Erfahrungsbericht von the-buccaneer zum Thema Windows Update ...

Windows 7
gelöst Windows 7 Update Neustart dialog beenden? (2)

Frage von aif-get zum Thema Windows 7 ...

Windows Server
gelöst WSUS Konsole Update Ansichten verschwunden (10)

Frage von D-Line zum Thema Windows Server ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (31)

Frage von Maik82 zum Thema Linux Netzwerk ...

Exchange Server
gelöst Bestehende eMails autoamatisch weiterleiten (22)

Frage von metal-shot zum Thema Exchange Server ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

Switche und Hubs
LAG zwischen SG300-Switches macht Probleme. Wer weiß Rat? (20)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...